iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 30
0
Microsoft Azure

用Azure建立一條龍的服務系列 第 30

一條龍,你會了嗎 - 用Django建立整合AD登入

  • 分享至 

  • xImage
  •  

說明

本篇將繼續介紹使用django-social-auth設定整合Activate Directory方式,直接整合使用者系統,無痛建立使用者資料庫!!

安裝與設定

pip install social-auth-django

接著在settings.py中設定以下資訊:

SOCIAL_AUTH_AZUREAD_OAUTH2_KEY = ''
SOCIAL_AUTH_AZUREAD_OAUTH2_SECRET = ''
SOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_TENANT_ID = ''
SOCIAL_AUTH_AZUREAD_OAUTH2_RESOURCE = 'https://graph.microsoft.com/'

AUTHENTICATION_BACKENDS = (
    ...
    'social_core.backends.azuread_tenant.AzureADTenantOAuth2',
    ...
)

其中SOCIAL_AUTH_AZUREAD_OAUTH2_KEYSOCIAL_AUTH_AZUREAD_OAUTH2_SECRETSOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_TENANT_ID的資訊取得方式已在上篇說明,SOCIAL_AUTH_AZUREAD_OAUTH2_RESOURCE可以設定其他microsoft提供的resource,最後是在AUTHENTICATION_BACKENDS 中加入'social_core.backends.azuread_tenant.AzureADTenantOAuth2'

完成後須執行python manage.py migrate,讓資料庫加入social-auth自訂的Table。

最後在HTML頁面中加入以下程式碼

<a href="{% url "social:begin" "azuread-tenant-oauth2" %}">Azure AD login</a>

就會在頁面中看到Azure AD login的按鈕,按下去出現下列畫面就大功告成啦~~可以直接登入囉!!

image-20201015174125065

結論

在前面已經介紹過了網站部屬的服務(AKS、App Service)、資料庫(PostgreSQL)、資料儲存(Storage)、容器(Container Registry),基本上已經可以建立一個完整的網站了。再加上訊息推播(Notification hub)讓網站資訊可以與手機整合、訊息處理(Service Bus)提供非同步執行方式,提供更多元的服務設定。最後還有Key Vault、Application Gateway 賦予網站更安全的資訊放置位置,以及更安全的流量把關。透過對以上服務的了解,已經可以建立一條龍的網站服務了

稍微比對一下介紹過的服務與Azure上的服務,其實介紹過的還不到Azure 所有服務的一半,還有很多服務都還沒有接觸過,還有很多新的服務等待探索。或許明年再回頭來看這次寫的文章,還會有許多可以補充的地方,待明年的我經過一年的歷練,再來分享,本系列用Azure建立一條龍的服務到這邊,下台一鞠躬,謝謝!!


Amos3.0 團隊系列文

以下為團隊所有成員的主題,也歡迎大家前往欣賞喔!


上一篇
取得Microsoft Graph API 驗證 token - MSAL
系列文
用Azure建立一條龍的服務30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言